Ahora también se puede ir de compras a la droguería.

El dìa lunes 19 de marzo de 2018 el periódico El Colombiano en la segunda y tercera página publicó bajo el titular: “Ahora también se puede ir de compras a la droguería” un informe sobre el negocio creciente de autoservicio las droguerías y las farmacias en el país.

En la publicación bajo el tìtulo de “PLATAFORMAS Y EXTENSIÓN” se muestra de maner gráfica y numérica el número de establecimientos de las principales marcas del país.

El diagrama se muestra a continuación:

Percepción de los estudiantes en diferentes tipos de gráficas.

Se realizó una toma de datos de la percepción que tenían los estudiantes de la estimación de los valores que representaban diferentes tipos de gráficas.

El particular se presentaron las siguientes gráficas:

Gráfica de círculos

Gráfica de barras verticales.

Gráfica de barras horizontales.

Gráfica de pastel 3D

A los estudiantes se les indicó el que el valor de Copservir con respecto al número de establecimientos fue de 884.

Y se les indicó que estimaran los valores de las demás marcas sin utilizar ningún tipo de instrumento de medida, sino únicamente su percepción visual de la gráfica para tal estimativo.

Resultados de la percepción

Lectura de la base de datos.

library(readxl)
farma <- read_excel("farmacias_encuesta.xlsx")
# Convertir la columna de gráfica en factor
farma$Grafica <- factor(farma$Grafica)

Resumen de la base de datos.

summary(farma)
##        ID      Farmacenter     Colsubsidio        Cafam      
##  Min.   : 0   Min.   :250.0   Min.   :150.0   Min.   :100.0  
##  1st Qu.:14   1st Qu.:500.0   1st Qu.:318.0   1st Qu.:260.0  
##  Median :28   Median :611.5   Median :381.0   Median :300.0  
##  Mean   :28   Mean   :583.6   Mean   :379.1   Mean   :307.9  
##  3rd Qu.:42   3rd Qu.:654.8   3rd Qu.:442.0   3rd Qu.:350.0  
##  Max.   :56   Max.   :796.0   Max.   :680.0   Max.   :630.0  
##               NA's   :1       NA's   :1       NA's   :1      
##    Cruz Verde       Pasteur                     Grafica  
##  Min.   : 60.0   Min.   : 24.0   barras horizontales:14  
##  1st Qu.:206.8   1st Qu.:126.5   barras verticales  :14  
##  Median :232.0   Median :195.0   círculos           :14  
##  Mean   :253.9   Mean   :196.8   original           : 1  
##  3rd Qu.:300.0   3rd Qu.:250.0   pastel             :14  
##  Max.   :590.0   Max.   :550.0                           
##  NA's   :1       NA's   :1

Adecuación y separación de la base de datos.

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)

farma1 <- farma %>%
          filter(!is.na(Farmacenter) & ID != 0) %>%
          droplevels()

farmaO <- farma %>%
          filter(ID == 0) %>%
          droplevels() %>%
          gather(key = marca, value = numEstablecimientos,
                 -c(ID, Grafica)) %>%
          mutate(marca = factor(marca,
                                levels = c("Farmacenter",
                                "Colsubsidio",
                                "Cafam",
                                "Cruz Verde",
                                "Pasteur")))

library(tidyr)
farma2 <- farma1 %>%
          gather(key = marca, value = numEstablecimientos,
                 -c(ID, Grafica)) %>%
          mutate(marca = factor(marca,
                                levels = c("Farmacenter",
                                "Colsubsidio",
                                "Cafam",
                                "Cruz Verde",
                                "Pasteur")))

Segundo resumen

summary(farma1)
##        ID         Farmacenter     Colsubsidio        Cafam      
##  Min.   : 1.00   Min.   :250.0   Min.   :150.0   Min.   :100.0  
##  1st Qu.:15.50   1st Qu.:500.0   1st Qu.:316.0   1st Qu.:260.0  
##  Median :29.00   Median :613.0   Median :382.0   Median :300.0  
##  Mean   :28.91   Mean   :583.3   Mean   :379.8   Mean   :308.6  
##  3rd Qu.:42.50   3rd Qu.:656.5   3rd Qu.:442.0   3rd Qu.:350.0  
##  Max.   :56.00   Max.   :796.0   Max.   :680.0   Max.   :630.0  
##    Cruz Verde       Pasteur                     Grafica  
##  Min.   : 60.0   Min.   : 24.0   barras horizontales:14  
##  1st Qu.:204.5   1st Qu.:121.0   barras verticales  :14  
##  Median :234.0   Median :200.0   círculos           :13  
##  Mean   :254.6   Mean   :197.4   pastel             :14  
##  3rd Qu.:300.0   3rd Qu.:250.0                           
##  Max.   :590.0   Max.   :550.0
summary(farma2)
##        ID                       Grafica           marca   
##  Min.   : 1.00   barras horizontales:70   Farmacenter:55  
##  1st Qu.:15.00   barras verticales  :70   Colsubsidio:55  
##  Median :29.00   círculos           :65   Cafam      :55  
##  Mean   :28.91   pastel             :70   Cruz Verde :55  
##  3rd Qu.:43.00                            Pasteur    :55  
##  Max.   :56.00                                            
##  numEstablecimientos
##  Min.   : 24.0      
##  1st Qu.:226.0      
##  Median :305.0      
##  Mean   :344.8      
##  3rd Qu.:442.0      
##  Max.   :796.0

Resumen de las estimaciones

library(dplyr)
resumen <- farma2 %>% 
           group_by(Grafica, marca) %>%
           summarise(promedio = mean(numEstablecimientos),
                     desvEst  = sd(numEstablecimientos))
resumen
## # A tibble: 20 x 4
## # Groups:   Grafica [?]
##    Grafica             marca       promedio desvEst
##    <fct>               <fct>          <dbl>   <dbl>
##  1 barras horizontales Farmacenter     630.    46.2
##  2 barras horizontales Colsubsidio     377.    56.8
##  3 barras horizontales Cafam           310.    52.6
##  4 barras horizontales Cruz Verde      260.    54.8
##  5 barras horizontales Pasteur         221.    54.6
##  6 barras verticales   Farmacenter     598.   115. 
##  7 barras verticales   Colsubsidio     357.    91.1
##  8 barras verticales   Cafam           290.    77.9
##  9 barras verticales   Cruz Verde      251.    75.6
## 10 barras verticales   Pasteur         210.    73.6
## 11 círculos            Farmacenter     652.    97.8
## 12 círculos            Colsubsidio     461.   113. 
## 13 círculos            Cafam           365.   138. 
## 14 círculos            Cruz Verde      296.   134. 
## 15 círculos            Pasteur         217.   145. 
## 16 pastel              Farmacenter     458.    79.1
## 17 pastel              Colsubsidio     330.    70.7
## 18 pastel              Cafam           273.    70.7
## 19 pastel              Cruz Verde      214.    70.9
## 20 pastel              Pasteur         143.    76.9

Gráficas de las estimaciones

Dispersión de puntos.

library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos)) +
    geom_point(aes(colour = "dato")) +
    facet_wrap(~ Grafica, ncol = 4) +
    stat_summary(fun.y = "mean", geom = "point", 
                 aes(colour = "PromedioEstimado"),
                 size = 3) +
    geom_point(data = subset(farmaO, select = c(marca, numEstablecimientos)), 
               aes(marca, numEstablecimientos, colour = "Valorverdadero"),
               shape = 18, size = 4) +
  scale_colour_manual(name="",
    values=c(dato="black", 
             PromedioEstimado = "blue", 
             Valorverdadero = "red"),
    labels = c("Dato estimado",
               "Promedio de los estimados",
               "Valor real")) +
   theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
   labs(title = "Estimaciones de acuerdo al tipo de gráfica",
        x = "Compañía farmacéutica", 
        y = "Número de establecimientos") 

Diagramas de caja y bigotes

library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos)) +
  geom_boxplot(aes(col = "caja")) +
  facet_wrap(~ Grafica, ncol = 4)  +
  geom_point(data = resumen, aes(marca, promedio, col = "PromVerd")) +
  geom_point(data = subset(farmaO, select = -Grafica), 
             aes(marca, numEstablecimientos, col = "Valorverdadero")) +
    scale_colour_manual(name="",
    values=c(caja ="black", 
             PromVerd = "blue", 
             Valorverdadero = "red"),
    labels = c("Datos",
               "Promedio de los estimados",
               "Valor real")) +
   theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
   labs(title = "Estimaciones de acuerdo al tipo de gráfica",
        x = "Compañía farmacéutica", 
        y = "Número de establecimientos") 

Medias y desviaciones estándar.

library(ggplot2)
ggplot(resumen, aes(marca, promedio)) +
  geom_pointrange(aes(ymin = promedio - desvEst * 2,
                      ymax = promedio + desvEst * 2,
                      colour = "linea")) +
  facet_wrap(~Grafica, ncol = 4) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  geom_point(data = subset(farmaO, select = -Grafica),
             aes(marca, numEstablecimientos, col = "Valorverdadero"))  +
    scale_colour_manual(name="",
    values=c(linea ="black", 
             Valorverdadero = "red"),
    labels = c("Datos",
               "Valor real")) +
   labs(title = "Estimaciones de acuerdo al tipo de gráfica",
        x = "Compañía farmacéutica", 
        y = "Número de establecimientos") 

Comportamiento de los evaluadores.

library(ggplot2)
ggplot(farma2, aes(marca, numEstablecimientos, group = ID)) +
  geom_line(alpha = 0.4) +
  facet_wrap(~Grafica, ncol = 4) +
  geom_point(data = subset(farmaO, select = -Grafica),
             aes(marca, numEstablecimientos, col = "Valorverdadero"))  +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
    scale_colour_manual(name="",
    values=c(Valorverdadero = "red"),
    labels = c("Valor real")) +
   labs(title = "Estimaciones por estudiante de acuerdo al tipo de gráfica",
        x = "Compañía farmacéutica", 
        y = "Número de establecimientos") 

Casos excepcionales

library(dplyr)
farma1 %>%
  filter( (Pasteur > `Cruz Verde`) |
          (`Cruz Verde` > Cafam)  |
          (Cafam > Colsubsidio) |
          (Farmacenter <= 300))
## # A tibble: 4 x 7
##      ID Farmacenter Colsubsidio Cafam `Cruz Verde` Pasteur Grafica        
##   <dbl>       <dbl>       <dbl> <dbl>        <dbl>   <dbl> <fct>          
## 1    8.        663.        442.  111.         177.     88. círculos       
## 2   20.        250.        150.  100.          60.     24. barras vertica…
## 3   43.        550.        330.  350.         200.    150. pastel         
## 4   53.        300.        200.  100.          80.     50. pastel